﻿// JavaScript File

//偏移设置 
var gmapOffsetX = 0.0050;
var gmapOffsetY = 0.0020;

var BrowerType = "MSIE";              //记录浏览器的类型；

//用户相关信息
var USER_ID = "";                   //用户ID
var USER_NAME = "";                 //用户姓名
var USER_DISTRICT_ID = "";          //用户权限对应的地区ID
var USER_DISTRICT_NAME = "";        //用户权限对应的地区名称
var USER_ROLE_INDEX = "";           //用户的角色代码 
var USER_STATUS = "";               //用户帐号的状态
var USER_LAT = "";                  //用户所对应地区的中心纬度
var USER_LNG = "";                  //用户所对应地区的中心经度
var USER_EMAIL="";                  //用户EMAIL
var USER_ROOTID="";                 //用户对应地区的上一级地区ID

var layerName="";                   //11-18日添加，用于AXL中的LAYER的name属性

var lastMapType = "GMAP";           //记录上一地图的类型（主要用于图例生成的前后保持原有的地图类型）
var MAP_TYPE = "GMAP";              //记录当前地图的类型，//GMAP             google map
                                                         //GIMAGE           google sattlelet
                                                         //IMSMAP           IMS Map & google Map 
                                                         //IMSLEGEND        IMS Legend
                                                         //IMSMAPONLY          IMSMap Only(不显示google地图)
var MODULE="";                      //记录当前模块名称
var cropType ="0001";               //记录作物种类代码

var flagMenu = true;                //用于判断菜单div的显示状态
var flagWizard = true;             //用于判断Wizard div的显示状态
var addPoint = true;                    //用于判断是否记录鼠标点击的位置
var rightClickResponse = false;          //用于判断是否点击了鼠标鼠标右键

var markerPoints = new Array();         //用于记录鼠标点击采样点的坐标数组

var gmap; //Google地图对象
var imsOverlay; //作为GOverlay叠加在gmap上的Ims地图对象

//记录鼠标拖移地图时的起始和终止点。
var StartX;
var StartY;
var EndX;
var EndY;
var gMapListen;
var click_count=1;//张晓斌添加,鼠标点取地图信息时的开关,1开启,0关闭

var flag_measure=0;//地图量测功能中的开关，1是距离，2是面积
var measure=window.measure={};

var MapHeight = 400;



//判断浏览器类型
function getBrowserType()
{ 
//var OsObject = ""; 
if(navigator.userAgent.indexOf("MSIE")>0) { return "MSIE"; } 
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ return "Firefox"; } 
if(isSafari=navigator.userAgent.indexOf("Safari")>0) { return "Safari"; } 
if(isCamino=navigator.userAgent.indexOf("Camino")>0){ return "Camino"; } 
if(isMozilla=navigator.userAgent.indexOf("Gecko")>0){ return "Gecko"; } 
}



//创建鼠标右击时的contextMenu
////////////////////////////////////////////////////////////
var contextmenu = document.createElement("div");
var menu1 = document.createElement("input");
menu1.type = "button";
menu1.value = "结束选点";
menu1.id = "end";
$(menu1).bind("click",function(){
    contextmenu.style.visibility = "hidden"; 
    loadMousePointTable();
});
contextmenu.appendChild(menu1);  
////////////////////////////////////////////////////////////



//-------------------------------------------------------
//   Yang Xiaodong
//   IRSA, CAS
//-------------------------------------------------------
//Class     :DataTable
//Purpose   :provides a table class
//-------------------------------------------------------
//Calls     :
//Called by :
//-------------------------------------------------------
//Arguments :ID             the id attribute of the table
//           cssStyle       the css class of the table   
//           tableTitles    the Column or Row titles of table
//           tableValues    A 2 dimension Array to represent values in table
//           alignDirect    the title align direct of table, 0 is horizontal or titles in coloumns, 1 is vertical or titles in rows
//Globals   :
//Returns   :
//-------------------------------------------------------
//Notes     :
//-------------------------------------------------------
//History   :
//=======================================================


var DataTable = function(tableTitles, tableValues,alignDirect)
{
    var table = document.createElement("table");
    var tbody = document.createElement("tbody");
    table.appendChild(tbody);
    
    if (alignDirect == 0)         //Columns Mode
    {
        var nColumns = tableTitles.length;
        var nRows = tableValues.length + 1;
        for (var i = 0; i < nRows; i++)
        {
            tbody.insertRow(i);
            for (var j = 0; j < nColumns; j++)
            {
                tbody.rows[i].insertCell(j);
                if (i == 0)
                {
                    tbody.rows[i].cells[j].appendChild(tableTitles[j]);
                }
                else
                {
                    tbody.rows[i].cells[j].appendChild(tableValues[i-1][j]);
                }
            }
        }
    }
    else if(alignDirect == 1)                       //Rows Mode
    {
        var nRows = tableTitles.length;
        var nColumns = tableValues.length + 1;
        for(var i = 0; i < nRows; i++)
        {
            tbody.insertRow(i);
            for (var j = 0; j < nColumns; j++)
            {
                tbody.rows[i].insertCell(j);
                //tbody.rows[i].cells[j].setAttribute("align", "left");
                if (j == 0)
                {
                    tbody.rows[i].cells[j].appendChild(tableTitles[i]);
                }
                else
                {
                    tbody.rows[i].cells[j].appendChild(tableValues[j-1][i]);
                }
            }
        }
    }
    else if (alignDirect == 2)                      //标题在第一行，后续每行添加一组数据，数据以标题类型组织，类似于数据库中的表格方式
    {
        var nRows = tableValues[0].length + 1;// tableTitles.length;
        var nColumns = tableTitles.length;//tableValues.length + 1;
        for (i = 0; i < nRows; i++)
        {
            tbody.insertRow(i);
            for (j = 0; j < nColumns; j++)
            {
                tbody.rows[i].insertCell(j);
            }
        }
        
        for(i = 0; i < nColumns; i++)
        {
            for (j = 0; j < nRows; j++)
            {
                if (j == 0)
                {
                    tbody.rows[j].cells[i].appendChild(tableTitles[i]);
                }
                else
                {
                    tbody.rows[j].cells[i].appendChild(tableValues[i][j-1]);
                }
            }
        }
        
    }
    return table;
}



/*
** 返回一个XMLHttpRequest 对象
*/
function createRequest() 
{
    var request;
    try {
        request = new XMLHttpRequest();
    } catch (trymicrosoft) {
        try {
            request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (othermicrosoft) {
            try {
                request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (failed) {
                request = false;
            }
        }
    }
    if (!request)
        alert("Error initializing XMLHttpRequest!");
    return request;
}


//加载Xml文件
function LoadXML(src){
    var xmlDoc;
    if (window.ActiveXObject)
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async=false;
        xmlDoc.load(src);
//        return xmlDoc;
    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation && document.implementation.createDocument)
    {
        xmlDoc=document.implementation.createDocument("","",null);
        xmlDoc.async=false;
        xmlDoc.load(src);
//        return xmlDoc;
    }
    else
    {
        alert('Your browser cannot handle this script! Please try it in IExplorer!');
//        return xmlDoc;
    } 
    return xmlDoc;	
}

//    var DLng,DLat,MLng,MLat,SLng,SLat;
//    DLng = Lng.split('.')[0];
//    DLat = Lat.split('.')[0];
//    
//    MLng = Math.floor(Lng.split('.')[1] * 60);
//    MLat = Math.floor(Lat.split('.')[1] * 60);
//    
//    SLng = Math.round((Lng.split('.')[1] - MLng/60)*36000)/10;
//    SLat = Math.round((Lat.split('.')[1] - MLat/60)*36000)/10;
//	m_txtXCoord.value = "经度: " + dx + "°" + fx + "′" + mx + '″';
//	m_txtYCoord.value = "纬度: " + dy + "°" + fy + "′" + my + '″';

//将GLatLng点转换成ddmmss格式的点
function tranGLatLngToDMS(GLatLng)
{
    var Lng = GLatLng.x;
    var Lat = GLatLng.y;
    
    
    var dmsPoint = new Array();
    dmsPoint[0] = DLng + ""
    
  	var DLng = Math.floor(Lng);
	var MLng = Math.floor((Lng - DLng) * 60);
	var SLng = Math.round(((Lng - DLng) * 60 - MLng) * 6000)/100;    //秒位精度保留到小数点后两位
	var DLat = Math.floor(Lat);
	var MLat = Math.floor((Lat - DLat) * 60);
	var SLat = Math.round(((Lat - DLat) * 60 - MLat) * 6000)/100;    //秒位精度保留到小数点后两位
	
    var dmsPoint = new Array();
    dmsPoint[0] = DLng + "°" + MLng + "′" + SLng + '″';
    dmsPoint[1] = DLat + "°" + MLat + "′" + SLat + '″';
    
    return dmsPoint;
	
}



function showWaitImage() {
	document.getElementById("busyPic").style.visibility = 'visible';
}

function hideWaitImage() {
    //m_zbxZoom.hide();
    document.getElementById("busyPic").style.visibility = 'hidden';
}


function tofloat(f,dec)
{    
    if(dec<0)   
        return   "Error:dec<0!";    
    result = parseInt(f) + (dec == 0 ? "" : ".");    
    f -= parseInt(f);    
    if(f==0)    
        for(i=0;i<dec;i++)   result+='0';    
    else   
    {    
        for(i=0;i<dec;i++)   f*=10;    
        result += parseInt(Math.round(f));    
    }    
    return   result;
}


////js暂停函数  
//function Pause(obj, iMinSecond) {
//    if (window.eventList == null) window.eventList = new Array();
//    var ind = -1;
//    for (var i = 0; i < window.eventList.length; i++) {
//        if (window.eventList[i] == null) {
//            window.eventList[i] = obj;
//            ind = i;
//            break;
//        }
//    }
//    if (ind == -1) {
//        ind = window.eventList.length;
//        window.eventList[ind] = obj;
//    }
//    setTimeout("GoOn(" + ind + ")", iMinSecond);
//}

////js继续函数  
//function GoOn(ind) {
//    var obj = window.eventList[ind];
//    window.eventList[ind] = null;
//    if (obj.NextStep) obj.NextStep();
//    else obj();
//}

//function a() {
//    var d = 123;
//    alert(d);
//    setTimeout(next, 2000); function next() {
//        alert(++d);
//    } 
//}

//a();